Conditions | 2 |
Total Lines | 19 |
Code Lines | 18 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | import { Inject } from '@nestjs/common'; |
||
13 | |||
14 | public async isSatisfiedBy( |
||
15 | event: Event, |
||
16 | newTime: number = 0 |
||
17 | ): Promise<boolean> { |
||
18 | const user = event.getUser(); |
||
19 | const date = event.getDate(); |
||
20 | |||
21 | const [eventTime, leaveTime] = await Promise.all([ |
||
22 | this.eventRepository.sumOfTimeSpentByUserAndDate(user, date), |
||
23 | this.leaveRepository.sumOfDurationLeaveByUserAndDate(user, date) |
||
24 | ]); |
||
25 | |||
26 | const timeSpent = eventTime + leaveTime; |
||
27 | const dayTime = event.getId() |
||
28 | ? timeSpent - event.getTime() + newTime |
||
29 | : timeSpent + event.getTime(); |
||
30 | |||
31 | return dayTime > Event.MAXIMUM_TIMESPENT_PER_DAY; |
||
32 | } |
||
34 |